<ui:composition 
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:c="http://java.sun.com/jsp/jstl/core"
    xmlns:composite="http://java.sun.com/jsf/composite">
    <composite:interface>
        <composite:attribute name="label"/>
        <composite:attribute name="value"/>
        <composite:attribute name="values"/>
        <composite:attribute name="converter" type="javax.faces.convert.Converter"/>
        <composite:attribute name="converterId"/>
        <composite:attribute name="requiredMessage"/>
        <composite:attribute name="required"/>
    </composite:interface>

    <composite:implementation>
        <h:outputLabel for="inputSelect" value="#{cc.attrs.label}:" styleClass="ds-label"/>
        <h:selectOneListbox id="inputSelect" value="#{cc.attrs.value}"  styleClass="ui-widget-content ui-corner-all ds-field" size="1">
            <c:if test="#{not empty cc.attrs.converter}">
                <f:converter    binding="#{cc.attrs.converter}"/>
            </c:if>
            <c:if test="#{not empty cc.attrs.converterId}">
                <f:converter converterId="#{cc.attrs.converterId}"/>
            </c:if>
            <f:selectItem itemLabel=" "/>
            <c:forEach items="#{cc.attrs.values}" var="op">
                <f:selectItem itemValue="#{op.selectValue}" itemLabel="#{op.selectLabel}"/> 
            </c:forEach>           
        </h:selectOneListbox>
        <h:message id="errorMessage" for="inputSelect" errorClass="ui-state-error ui-state-error-text ds-message" />
        <script type="text/javascript">deltaset.decorateIfError('#{cc.clientId}');</script>
    </composite:implementation>
</ui:composition>